安卓神器的天花板Xposed,这次真的能让你用上!
阿虚同学
读完需要
8分钟建议慢慢学习
关于安卓端的神器 Xposed 框架,阿虚就不再重复介绍了,完全不了解的话建议复习下面这篇文章:
总之你可以简单这样来理解:有了Xposed框架之后,你就可以给你的APP安装各种模块,而模块可以对APP进行去广告、功能增强等
常见的微信、QQ、支付宝、知乎、微博、抖音、网易云音乐、腾讯视频、爱奇艺、贴吧、哔哩哔哩....都有大神开发了Xposed模块
▲随意找来的一张常见图
不过原生的Xposed框架需要对手机进行ROOT后才能安装,但如今对安卓手机ROOT并不是那么简单的事
所以之前文章教了利用太极、Virtual Xposed、应用转生、VMOS这类APP来曲线救国。但就算如此,想用上Xposed模块还是有点儿麻烦了...
不过阿虚前不久又发现了一种新的方法可以让你在安卓手机上免ROOT使用上部分Xposed模块!!
1
实现免ROOT使用Xposed模块
1.1
Xpatch
Xpatch 是 Github上的一个开源项目:https://github.com/WindySha/Xpatch
其可以用来重新签名打包Apk文件,使重打包后的Apk能加载安装在系统里的Xposed插件,从而实现免Root Hook任意App
简单翻译一下就是:利用Xpatch可以修改APP安装包,安装了修改过后的安装包,APP就能直接使用Xposed模块了
如此一来便可以免ROOT的同时还绕过原本很难解决的Xposed框架问题!
1.2
LSPatch
而 LSPatch 由另一个作者开发,相当于是 Xpatch 的加强版:https://github.com/LSPosed/LSPatch
LSPatch 加强在哪里呢?
利用LSPatch你可以直接将模块内置到APP里!后续的安装步骤直接再度简化!!
2
如何使用LSPatch
显然 LSPatch 好像更好用,那我们就先来教下怎么使用加强版的 LSPatch
2.1
配置JAVA环境
由于 LSPatch 是使用Java语言编写的程序,并且作者目前还没有提供GUI版的exe程序,所以我们目前只能在JAVA环境下使用作者提供的 jar 程序
打开甲骨文的官网,下载JAVA环境包:https://www.oracle.com/java/technologies/downloads/#jdk18-windows
根据自己的系统下载,Windows的话一般下载.exe程序
然后具体安装过程没啥好说的,基本上是一路下一步,⚠️只是需要你记一下你设置的安装目录(当然一般建议保持默认装在C盘)
然后我们需要配置系统环境,WIN10系统的话可以按WIN+S或者WIN+Q,输入「高级系统设置」来直达设置页面(WIN7可以右击我的电脑,点击属性,再选择高级系统设置)
接着切换到高级选项卡,点击环境变量
在系统变量这里,新建2个值
新建变量JAVA_HOME,变量值则填上面叫你记住的JDK安装目录(注意末尾没有\)
然后再新建变量CLASSPATH,这里的变量值是固定的:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
(如果你电脑上已经存在CLASSPATH变量,则就不是点击新建,而是选中CLASSPATH变量点击编辑,并将变量值添加上去)
接着选中Path变量,点击编辑
我们在此处再新建两条变量%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin
(不同于WIN10,WIN7或WIN8添加的时候,所有变量是在一行里面的,这时要注意两个变量之间须有「;」号)
好了,如果你以上步骤操作无误,这时我们按下WIN+R键,输入cmd并回车,打开命令行窗口
在命令行窗口,输入java
如果按下回车后出现了一连串的指令提示,那说明你的JAVA环境配置成功了
2.2
准备lspatch.jar
JAVA环境一旦配置好,后续步骤就简单了
打开LSPatch项目的 release 发布页面:https://github.com/LSPosed/LSPatch/releases
如果你访问Github困难,建议了解《2022 Github加速访问教程》
下载最新版的jar文件,可以看到 LSPatch 如今已经支持Android12了!
2.3
准备Xposed模块
然后先准备你需要的Xposed模块,比如阿虚这里准备给知乎内嵌「知了」模块
在知了模块的下载页面,你会看到作者说明了目前知了模块只兼容知乎6.39.1-8.9.0
而目前知乎最新的版本已经到8.12.0了,所以你不能到各大应用市场或者知乎官网下载最新版❌
2.4
准备模块兼容的apk
想要下载APP历史版本,推荐大家是到豌豆荚上面下载(网页版上往下翻,可以找到历史版本):https://www.wandoujia.com/
▲比如知乎历史版
2.5
将模块内嵌进APP
以上文件都准备好之后就简单了,将知乎的安装包+知了的安装包+LSPatch的 jar 文件放在同一文件夹下
然后直接在这个文件夹下,点击资源管理器的地址栏,输入cmd并回车
此时将会自动在当前目录下打开命令行窗口(省去了你再用cd命令切换文件路径)
接着很简单了,你只需要根据你固定规则来输入转换命令即可,比如上图这种情况,你就需要这样输入:java -jar lspatch.jar zhihu.8.9.0.apk -m com.shatyuka.zhiliao_v202203040_388fc5.apk -l 2
这里有几处细节需要注意:
然后就真的挺简单的,输入以上命令后,直接回车即可
耐心等待其跑代码,直到再次出现输入行,说明运行结束了
顺利的话,你就能得到签名好且内嵌知了模块的知乎安装包了
如果运气不错,如此得到的安装包直接安装就可以使用了
但你也可能会遇到下图这种情况——即把模块直接内嵌进APP会无法使用
这是由于 LSPatch 只支持安卓8.1及以上的版本,如果你的手机系统低于这个版本,其实仍有版本解决
3
如何使用Xpatch
具体方法就是不用 LSPatch 而用原始的 Xpatch
放心并不复杂,Xpatch 的用法和 LSPatch 差不了多少,都是一条命令的事
3.1
配置JAVA环境
使用 Xpatch 一样得先配置JAVA环境,具体步骤和本文2.1节是一模一样的,这里便不再赘述
3.2
准备xpatch.jar
然后就是到 Xpatch 的release页下载最新版的 Xpatch 的 jar 文件了:https://github.com/WindySha/Xpatch/releases
如果你访问Github困难,建议了解《2022 Github加速访问教程》
Xpatch 也是一样,已经支持安卓12了
3.3
准备模块兼容的apk
后续打包步骤并不需要Xposed模块,但你也得先了解具体模块最高支持的APP版本
前文也说了,目前「知了」模块最高只兼容知乎8.9.0,所以你需要到豌豆荚上下载知乎8.9.0的安装包备用
3.4
重新签名打包APP
打包步骤其实也和上面差不多,你需要把知乎的安装包和 xpatch 的 jar文件放到同一文件夹
然后直接在这个文件夹下,点击资源管理器的地址栏,输入cmd并回车
此时将会自动在当前目录下打开命令行窗口(省去了你再用cd命令切换文件路径)
然后很简单了,你只需要根据你固定规则来输入转换命令即可,比如上图这种情况,你就需要这样输入:java -jar xpatch-5.0.jar zhihu.8.9.0.apk
这里有几处细节需要注意:
在刚刚弹出的cmd窗口中,输入命令,并按下回车
耐心等待其跑代码,直到再次出现输入行,说明运行结束了
如果顺利的话,你便能得到重新签名打包好之后的知乎安装包了
接着就是在你的手机上同时把这个安装包和「知了」模块都安装上(模块其实也是一个APP)
这一回,终于是没有闪退可以打开APP了
不同模块的设置地方不同,「知了」这个模块是直接到知乎APP的设置里面进行设置的,如下图:
手动启用各项设置,你就能享受到知了的超强大功能了!
4
如何选择&存在的局限
如何选择:
LSPatch 只支持安卓8.1及以上且更稳定,XPatch 支持更早的安卓版本
XPatch 不支持 x86 架构,所以无法在模拟器上使用,而 LSPatch 支持
LSPatch 属于是 Xpatch 的分支,其稳定性较强,但兼容性较差
同时 Xpatch 和 LSPatch 都存在以下的局限性:
对于使用了签名校验的应用,使用Xpatch得到的apk可能无法启动,或者无法获取到网络数据,比如优酷,趣头条等
有些App可能做了App加固,导致dex2Jar工具无法将dex文件解析为jar包,从而无法生成新的apk
对于校验了文件完整性的App,重打包后可能无法启动
5
模块下载
关于去哪里下载Xposed模块,其实之前的文章我已经说过了:
大多数模块你都可以在 Xposed Module Repository 上面找到(目前1527个):https://repo.xposed.info/module-overview
另外部分模块,通常发布在Github:https://github.com/,比如稍微比较出名的微博猪手:
另外在酷安平台上,通过搜索也不难找到许多模块的下载地址
由于诸多原因,本文只讨论软件使用方法,并不提供修改好的安装包程序!
大家有兴趣可以自行参照教程折腾~
如果后续有补充说明,请自行查看储物间